Modification of search subject in predictive search sentences

ABSTRACT

A method for modification of search subjects in a set of predictive search terms in which a set of search terms from a user is received and communicated to a search engine. One or more sets of predictive search terms from the search engine based on the set of search terms is received from the search engine and one or more search subjects within the one or more sets of predictive search terms is identified. A plurality of set of predictive search terms, where the one or more search subjects are displayed differently from other displayed terms is displayed and the user is presented with an option to modify the one or more search subjects. A modified search subject is received and a modified search sentence comprising the set of search terms, and one or more of the predictive search terms and the modified search subject is displayed.

BACKGROUND

The present invention relates generally to the field of computersystems, and more particularly to semantic analysis and predictiveonline searching.

Functional efficiency is an important part of any online search engine.Functionality of a particular search engine may vary by several factorsincluding the efficiency of predictive search terms.

Through the use of a user interface, such as a user interface of a webbrowser, a user can access web pages that contain information. Onetechnique for finding specific web pages on the Internet or an intranetis through the use of a search engine. Search engines typically maintainan index of millions or billions of web pages and provide a web browserinterface that can be used to search and access web pages by keywordsand text phrases in the web pages. Some well-known search enginesinclude Google™ and Yahoo!®.

Autocomplete, or presenting a set of predictive search terms, is afeature in which a search engine predicts the rest of a word a user istyping in a search input field. In graphical user interfaces, users cantypically accept one of several predictive search terms. This featurespeeds up human-computer interactions.

SUMMARY

It may be desirable to implement a method, system, and computer programproduct which considers various aspects of use of a particular searchphrase in order to give users an option to customize predictive searchterms.

An embodiment of the present disclosure provides a method formodification of search subjects in a set of predictive search terms. Themethod receives terms to be searched from a user, and communicates thesearch terms to a search engine. The method receives predictive searchterms from the search engine (based on the search terms). The methodidentifies a search subject within the provided predictive search terms.The method displays a user interface which indicates the search subjectto the user. The method presents the user with an option to modify thesearch subject. The method receives a modified search subject. Themethod displays a modified search sentence based on user'smodifications. The method may also include communicating the modifiedsearch sentence to a search engine. The method may include replacing atleast one of the search subjects with a blank space. The method mayinclude receiving a text input from the user and determining themodified search subject based on the received text input. The method mayinclude communicating the modified search sentence to a search engine.The method may include setting an input cursor at a beginning locationof the blank space. The method may include generating a prompt for theuser to speak, receiving an audio input from the user, and convertingthe audio input into digital text.

According to a further embodiment, a computer system modification ofsearch subjects in a set of predictive search terms. The computer systemreceives terms to be searched from a user, and communicates the searchterms to a search engine. The computer system receives predictive searchterms from the search engine (based on the search terms). The computersystem identifies a search subject within the provided predictive searchterms. The computer system displays a user interface which indicates thesearch subject to the user. The computer system presents the user withan option to modify the search subject search term. The computer systemreceives a modified search subject. The computer system displays amodified search sentence based on user's modifications.

According to another embodiment, a computer program product formodification of search subjects in a set of predictive search terms. Thecomputer program product receives terms to be searched from a user,communicating the search terms to a search engine. The computer programproduct receives predictive search terms from the search engine (basedon the search terms). The computer program product identifies a searchsubject within the provided predictive search terms. The computerprogram product displays a user interface which indicates the searchsubject to the user. The computer program product presents the user withan option to modify the search subject search term. The computer programproduct receives a modified search subject. The computer program productdisplays a modified search sentence based on user's modifications.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIGS. 1A-B are schematic block diagrams depicting an exemplary computingenvironment for a Predictive Term Modification Program, according to anaspect of the present disclosure.

FIG. 2 is a flowchart depicting operational steps of a method for aPredictive Term Modification Program, in accordance with an embodimentof the present disclosure.

FIG. 3 is a schematic block diagram depicting display of a userinterface to modify the search subject, in accordance with an embodimentof the present disclosure.

FIG. 4 is a block diagram of internal and external components ofcomputers and servers depicted in FIGS. 1A-B according an embodiment ofthe present disclosure.

FIG. 5 is a flowchart depicting operational steps of a method for aPredictive Term Modification Program, in accordance with an embodimentof the present disclosure.

DETAILED DESCRIPTION

While the present invention is particularly shown and described withrespect to preferred embodiments thereof, it will be understood by thoseskilled in the art that changes in forms and details may be made withoutdeparting from the spirit and scope of the present application. It istherefore intended that the present invention not be limited to theexact forms and details described and illustrated herein, but fallswithin the scope of the appended claims.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

FIG. 1A is a schematic block diagram depicting a computing environment100 for a Predictive Term Modification Program. In various embodimentsof the present invention, computing environment 100 includes a computer102 and server 112, connected over communication network 110.

Computer 102 may include a processor 104 and a data storage device 106that is enabled to run a Predictive Term Modification Program and a webbrowser 116, in order to display the result of a program on server 112,such as, Predictive Term Modification Program 108 communicated bycommunication network 110.

Computing environment 100 may also include a server 112 with a database114. The server 112 may be enabled to run a Predictive Term ModificationProgram 108. Communication network 110 may represent a worldwidecollection of networks and gateways, such as the Internet, that usevarious protocols to communicate with one another, such as LightweightDirectory Access Protocol (LDAP), Transport Control Protocol/InternetProtocol (TCP/IP), Hypertext Transport Protocol (HTTP), WirelessApplication Protocol (WAP), etc. communication network 110 may alsoinclude a number of different types of networks, such as, for example,an intranet, a local area network (LAN), or a wide area network (WAN).

It should be appreciated that FIG. 1A provides only an illustration ofone implementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environments may be made based on designand implementation requirements.

The computer 102 may communicate with server 112 via the communicationnetwork 110. The communication network 110 may include connections, suchas wire, wireless communication links, or fiber optic cables.

Computer 102 and server 112 may be, for example, a mobile device, atelephone, a personal digital assistant, a netbook, a laptop computer, atablet computer, a desktop computer, or any type of computing devicecapable of running a program and accessing a network. A program, such asa Predictive Term Modification Program 108 may run on the clientcomputer 102 or on the server 112. It should be appreciated thatmanaging program 108 has the same component and operation methodsregardless of whether it is run on the server 112 or computer 102.Therefore Predictive Term Modification Program 108 applies to a programimplemented within the environment of the computer 102 and/orimplemented within the environment of the server 112 interchangeably.

Referring now to FIG. 1B, the components of the Predictive TermModification Program 108, are illustrated. Predictive Term ModificationProgram 108 comprises 3 modules: receiving module 118A, identificationmodule 118B, and interface module 118C. Receiving module 118A mayreceive terms to be searched from a user, communicate the search termsto a search engine, and receive predictive search terms from the searchengine (based on the search terms). Identification module 118B mayidentify a search subject within the predictive search terms. Interfacemodule 118C may display a user interface which indicates the searchsubject to the user, present the user with an option to modify thesearch subject search term, receive a modified search subject, anddisplay a modified search sentence based on the user's modifications.

For example, in an embodiment, a set of words such as “what are the” isreceived by the receiving module 118A. Receiving module 118A maycommunicate these search terms to a search engine online displayed onweb browser 116 on a computer 102. Receiving module 118A may alsoreceive the predictive search terms such as: “What are the books writtenby John Grisham”, “What are the books written by Steinbeck”, “What arethe books written by Shakespeare”, “What are the albums of the Beatles”,and “What are the albums of Justin Bieber” from the search engineserver. Identification module 118B may analyze these predictive searchterms and identify the last word as the search subject. Furthermore,interface module 118C may display: “What are the books written by______”; receive the word “Hemingway” from the user, display themodified new search sentence (“what are the books written byHemingway”), and communicate the new modified search sentence to theonline search engine.

FIG. 2 is flowchart, which in conjunction with FIG. 3, depicts theoperational steps of a method 200 for a Predictive Term ModificationProgram 108, in accordance with an embodiment of the present disclosure.According to the present disclosure, the method 200 includesmodification of a search sentence: “what are the books written byHemingway”.

In reference to FIGS. 1A, 1B, 2 and 3, steps of the method 200 may beimplemented using one or more modules of a computer program, forexample, the Predictive Term Modification Program 108, and executed by aprocessor of a computer such as the computer 102.

At 202 and 204 operation of the receiving module 118A is depicted.Referring now to block 202, the receiving module 118A may receive a setof words from a user or an electronic input source for use in a search,using an online search engine. Receiving module 118A may receive theword(s) from a user or a computer implemented system. Non-limitingexamples of an input source may be spoken words, typed words, orinputting a corpus electronically from a computer implemented sourcesuch as an electronic device (e.g. cell phones, tablets, or otherelectronic devices with speech recognition programs). Receiving module118A may also communicate the words received to a search engine.Furthermore, receiving module 118A may receive a set of predictivesearch terms from the search engine.

In the present embodiment, receiving module 118A receives words forsearching from a user. The user may type in the words on a computerkeyboard (i.e. electronic input source). In the present embodiment,receiving module receives the word “what are the” from the user alongwith instructions to search those words with a google search engine(FIG. 3, sentence 316). It must be noted that the user typing words on asearch bar may be treated as instructions to search for the words withan online searching tool.

It must also be appreciated that for the purposes of this invention, asearch sentence includes the grammatical meaning of a sentence (i.e. asentence is a linguistic unit consisting of one or more words that aregrammatically linked. A sentence can include words grouped meaningfullyto express a statement, question, exclamation, request, command orsuggestion) or a sentence fragment or an incomplete sentence (i.e. anincomplete sentence, or sentence fragment, is a set of words which doesnot form a complete sentence, either because it does not express acomplete thought or because it lacks some grammatical element, such as asubject or a verb).

Receiving module 118A, in the present embodiment, communicates thereceived words to the google search engine server. In the presentembodiment, receiving module 118A also receives a set of predictivesearch terms from the google search engine server. In this embodimentthe predictive search terms are as follows:

“What are the books written by John Grisham”;

“What are the books written by Steinbeck”;

“What are the books written by Shakespeare”;

“What are the albums of the Beatles”; and

“What are the albums of Justin Bieber”.

At 206, operations of the identification module 118B is depicted.Identification module 118B may, using the predictive search terms,received by the receiving module 118A, identify a search subject withinthe predictive search terms. In other words, the search subject is thesubject of a predictive search terms which propels the search resultsand the answer to the simple question of “what is the user searchingfor?” For example, in an embodiment, in the question “where do you keepyour milk?” the word “milk” is the search subject because the word milkis the vital part of this query and what the user is asking for. Bychanging the word “milk” to “cups” the response to this question willinevitably yield a different answer.

In one embodiment, identification module 118B may identify the searchsubject upon information received from the search engine server. Thesearch engine server may point towards search domains. Search domain isa possible search sites to use for searching using the search term.These search domains may indicate the search subject. Identificationmodule 118B may receive the search domains from the search engineserver. In various embodiments, “what is the email of ______” may resultin a search in some rolodex or a yellow pages, “what books did ______write” may result in a search in Wikipedia, or “what is the status ofticket to ______” may result in a query to a ticket-purchasingapplication or ticket providing sites. Therefore identification module118B may use the search domains to identify the search subject byidentifying the commonality of categories between the sites by analyzingthe commonality of the indexes and categories of all the sites. Forexample, in one embodiment, when the search term of “what is the statusof flight to Zurich” results in a query of many airport sites,identification module 118B may identify that the word “Zurich” is thesearch subject because all search domains have cities and destinationsin common. Because the word “Zurich” is a city/destination, it isconsistent with the commonality among the search domains; based on thisinformation, identification module 118B may identify “Zurich” as thesearch subject. In one embodiment the search domains sites are includedwithin the predictive search terms as metadata and identification module118B analyzes said metadata.

In another embodiment, the search engine can progressively retrievesearch results and analyze the results to dynamically identify thesearch subject. Identification module 118B may, in order to process thenatural language, decompose the received predictive search terms intotokens and may use the tokens to determine the search subject. A tokenis a short piece of text or a fragment of a sentence usually comprisingof words. A word is a smallest element that may be uttered in isolationwith semantic or pragmatic content (i.e. literal or practical meaning).Non-limiting examples of a token include nouns, adjectives, andpronouns. Identification module 118B may analyze each token for varioussemantic properties. Identification module 118B may analyze the tokensand determine the search subject based on the common semantic propertiesof each token, sentence structure of the predictive search terms, andcommon properties of the tokens among all predictive search terms. Forexample, in one embodiment, the predictive search terms may comprise thefollowing:

What to expect during month 1 of pregnancy;

What to expect during month 2 of pregnancy;

What to expect during month 9 of pregnancy;

After decomposing the terms into token and analyzing these tokens,identification module 118B may determine that the month number is thecommon token among all predictive search terms and therefore the searchsubject (i.e. a search subject search sentence of what to expect duringmonth ______ of pregnancy).

In the present embodiment, identification module 118B analyzes thepredictive search terms. The predictive search terms are as follows:

“What are the books written by Hemingway”;

“What are the books written by Steinbeck”;

“What are the books written by Shakespeare”;

“What are the albums of the Beatles”; and

“What are the albums of Justin Bieber”.

Identification module 118B determines that the name of the author or theartist from a book or an album is the search subject because that is thecommon token property among all the predictive search terms.

At 208-214, operation of the interface module 118C is depicted. At 208,interface module may display a user interface which displays thepredictive search sentence and displays the search subject differentlycompared to other terms among the predictive search terms. In anembodiment, interface module 118C may display the predictive searchterms and insert a blank space instead of the search subject. In otherembodiments, the relative position of the search subject (in relation tothe other words of the predictive search term) is highlighted asillustrated by highlight 306 (alternatively, blank space 306) in theuser interface 304.

In the present embodiment, the interface module 118C displays thepredictive search terms and displays the search subject differently bydisplaying a blank space as illustrated in FIG. 3. The user interface302 is displayed, in this embodiment, with multiple blank spaces (suchas blank space 308) in order to indicate the search subjects. It shouldalso be noted that in this embodiment, interface module 118C alsoprovides three possible sentences (i.e. sentences 310, 312, and 314) asoptions for the user to pick.

At 210, interface module 118C may present the user with an option tomodify the predictive search sentence (which comprises the predictivesearch terms) by modifying the search subject. The option to modify maybe presented to the user by providing a blank space to the user to inputthe search subject by typing the word or any other electronic methodsuch as speaking into a microphone. In other embodiments, interfacemodule 118C may provide a list of search subjects for the user to pick.

In the present embodiment interface module 118C provides blank space 306for the user to input the search subject. In the present embodiment, theuser inputs the word “Hemingway” using a keyboard.

At 212, interface module 118C may receive the user's modification of thesearch subject. In this embodiment, the word Hemingway is received bythe interface module 118C.

At 214, interface module 118C may display the sentence to be searched.This sentence comprises the original search terms (initially input bythe user), the predictive search term (provided by the search engine),and the modified search subject (provided by the user). Interface module118C may also communicate the sentence to be searched to a searchengine.

In this embodiment the full sentence to be searched (i.e. sentence 304)is displayed by the interface module 118C. The full sentence, in thisembodiment, is “what are the books written by Hemingway”. This sentencecomprises the “what are” (initially typed in by the user), “the bookswritten by” (provided as the predictive search terms by the searchengine), and “Hemingway” (provided by the user as the modified searchsubject).

It must be appreciated that, even though the present embodiment depictsthe operation of the Predictive Term Modification Program 108 ascomprising only one search subject, other embodiments may comprisemultiple search subjects.

FIG. 4 depicts a block diagram of components a computer system, forexample server 112 and computer 102, of distributed computingenvironment 100 of FIG.1, in accordance with an embodiment of thepresent invention.

Server 112 and computer 102 may include one or more processors 402, oneor more computer-readable RAMs 404, one or more computer-readable ROMs406, one or more computer readable storage media 408, device drivers412, R/W drive or interface 414, network adapter or interface 416, allinterconnected over a communications fabric 418. Communications fabric418 may be implemented with any architecture designed for passing dataand/or control information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system.

One or more operating systems 410, and one or more application programs411, are stored on one or more of the computer storage media 408 forexecution by one or more of the processors 402 via one or more of therespective RAMs 404 (which typically include cache memory). In theillustrated embodiment, each of the computer readable storage media 408may be a magnetic disk storage device of an internal hard drive, CD-ROM,DVD, memory stick, magnetic tape, magnetic disk, optical disk, asemiconductor storage device such as RAM, ROM, EPROM, flash memory orany other computer-readable tangible storage device that can store acomputer program and digital information.

Server 112 and computer 102 may also include an R/W drive or interface414 to read from and write to one or more portable computer readablestorage media 426. Application programs 411 on server 112 and computer102 may be stored on one or more of the portable computer readablestorage media 426, read via the respective R/W drive or interface 414and loaded into the respective computer readable storage media 408.

Server 112 may also include a network adapter or interface 416, such asa TCP/IP adapter card or wireless communication adapter (such as a 4Gwireless communication adapter using OFDMA technology). Applicationprograms 411 on server 112 and may be downloaded to the computing devicefrom an external computer or external storage device via a network (forexample, the Internet, a local area network or other wide area networkor wireless network) and network adapter or interface 416. From thenetwork adapter or interface 416, the programs may be loaded ontocomputer readable storage media 408. The network may comprise copperwires, optical fibers, wireless transmission, routers, firewalls,switches, gateway computers and/or edge servers.

Server 112 and computer 102 may also include a display screen 420, akeyboard or keypad 422, and a computer mouse or touchpad 424. Devicedrivers 412 interface to display screen 420 for imaging, to keyboard orkeypad 422, to computer mouse or touchpad 424, and/or to display screen420 for pressure sensing of alphanumeric character entry and userselections. The device drivers 412, R/W drive or interface 414 andnetwork adapter or interface 416 may comprise hardware and software(stored on computer readable storage media 408 and/or ROM 406).

Based on the foregoing, a computer system, method, and computer programproduct have been disclosed. However, numerous modifications andsubstitutions can be made without deviating from the scope of thepresent invention. Therefore, the present invention has been disclosedby way of example and not limitation.

FIG. 5 is flowchart, which depicts the operational steps of a method 500for a Predictive Term Modification Program 108, in accordance with anembodiment of the present disclosure. In reference to FIGS. 1A, 1B, 2and 3, steps of the method 500 may be implemented using one or moremodules of a computer program, for example, the Predictive TermModification Program 108, and executed by a processor of a computer suchas the computer 102.

At 502, the receiving module 118A may receive a set of words from a useror an electronic input source for use in a search, using an onlinesearch engine. Receiving module 118A may receive the word(s) from a useror a computer implemented system. Non-limiting examples of an inputsource may be spoken words, typed words, or inputting a corpuselectronically from a computer implemented source such as an electronicdevice (e.g. cell phones, tablets, or other electronic devices withspeech recognition programs). Receiving module 118A may also communicatethe words received to a search engine. Furthermore, receiving module118A may receive a set of predictive search terms from the searchengine.

At 504, identification module 118B may generate predictive search terms.In one embodiment, identification module 118B may generate one or morepredictive search terms based on the received search terms based onstatistical data collected based on previous online searches.

At 506, identification module 118B may, using the predictive searchterms, may identify a search subject within the predictive search terms.In one embodiment, identification module 118B may identify the searchsubject by identifying search domains of the associated predictivesearch terms. A search domain may refer to a domain, category of search,or database, that may be typically used to search for the predictivesearch terms. These search domains may indicate the search subject.Identification module 118B may identify the search domains. In variousembodiments, “what is the email of ” may result in a search in somerolodex or a yellow pages, “what books did write” may result in a searchin Wikipedia, or “what is the status of ticket to ” may result in aquery to a ticket-purchasing application or ticket providing sites.Therefore identification module 118B may use the search domains toidentify the search subject by identifying the commonality of categoriesbetween the sites by analyzing the commonality of the indexes andcategories of all the sites. For example, in one embodiment, when thesearch term of “what is the status of flight to Zurich” results in aquery of many air travel sites, identification module 118B may identifythat the word “Zurich” is the search subject because all search domainshave cities and destinations in common. Because the word “Zurich” is acity/destination, it is consistent with the commonality among the searchdomains; based on this information, identification module 118B mayidentify “Zurich” as the search subject. In one embodiment the searchdomains sites are included within the predictive search terms asmetadata and identification module 118B analyzes said metadata.

In another embodiment, the search engine can progressively retrievesearch results and analyze the results to dynamically identify thesearch subject. Identification module 118B may, decompose the receivedpredictive search terms into tokens and may use the tokens to determinethe search subject. A token may be a short piece of text or a fragmentof a sentence usually comprising of words. A word may be defined, in oneembodiment, as a smallest element that may be uttered in isolation withsemantic or pragmatic content (i.e. literal or practical meaning).Non-limiting examples of a token include nouns, adjectives, andpronouns. Identification module 118B may analyze each token for varioussemantic properties. Identification module 118B may analyze the tokensand determine the search subject based on the common semantic propertiesof each token, sentence structure of the predictive search terms, andcommon properties of the tokens among all predictive search terms. Forexample, in one embodiment, the predictive search terms may comprise thefollowing:

What to expect during month 1 of pregnancy;

What to expect during month 2 of pregnancy;

What to expect during month 9 of pregnancy;

After decomposing the terms into token and analyzing these tokens,identification module 118B may determine that the month number is thecommon token among all predictive search terms and therefore the searchsubject (i.e. a search subject search sentence of what to expect duringmonth ______ of pregnancy).

At 508, interface module 118C may generate instructions to communicatethe predictive search to the user. The presentation of the predictivesearch subject to the user is explained above at paragraph 0042.

At 510, interface module 118C may receive a modified search subject fromthe user. The receiving of the modified search subjects is explained inmore detail, above.

At 512, interface module 118C may conduct an online search based on amodified search sentence comprising the original search terms (initiallyinput by the user), the predictive search term (provided by the searchengine), and the modified search subject (provided by the user).Interface module 118C may also generate instructions to display thesearch results to the user.

1. A computer implemented method for modification of search subjects ina set of predictive search terms, the method comprising: receiving a setof search terms from a user; communicating the search terms to a searchengine; receiving one or more sets of predictive search terms from thesearch engine based on the set of search terms; identifying one or moresearch subjects within the one or more sets of predictive search terms,wherein identifying the one or more search subjects comprises analyzingthe received set of search terms and the one or more sets of predictivesearch terms for various semantic properties; combining the set ofsearch terms from the user, the one or more sets of predictive searchterms and the identified one or more search subjects to form one or morecombined search sentences; displaying the one or more combined searchsentences, wherein the identified one or more search subjects isdisplayed as a blank space within the one or more combined searchsentences.
 2. The method of claim 1, further comprising: communicatingthe combined search sentence to a search engine.
 3. The method of claim1, further comprising: receiving a text input from the user; anddetermining the modified search sentence based on the text input.
 4. Themethod of claim 3, further comprising: communicating the modified searchsentence to a search engine, wherein the text input is received from theuser prior to communicating the modified search sentence to the searchengine.
 5. The method of claim 1, further comprising: setting an inputcursor at a beginning location of the blank space, wherein the blankspace comprises a text input field.
 6. A computer system formodification of search subjects in a set of predictive search terms, thecomputer system comprising: one or more computer processors; one or morecomputer-readable storage media; program instructions stored on thecomputer-readable storage media for execution by at least one of the oneor more processors, the program instructions comprising: instructions toreceive a set of search terms from a user; instructions to communicatethe search terms to a search engine; instructions to receive one or moresets of predictive search terms from the search engine based on the setof search terms; instructions to identify one or more search subjectswithin the one or more sets of predictive search terms, wherein theinstructions to identify the one or more search subjects comprisesanalyzing the received set of search terms and the one or more sets ofpredictive search terms for various semantic properties; instructions tocombine the set of search terms from the user, the one or more sets ofpredictive search terms and the identified one or more search subjectsto form one or more combined search sentences; instructions to displaythe combined search sentences, wherein the identified one or more searchsubjects is displayed as a blank space within the one or more combinedsearch sentences.
 7. The system of claim 6, further comprising:communicating the combined search sentence to a search engine.
 8. Thesystem of claim 6, further comprising: receiving a text input from theuser; and determining the modified search subject based on the textinput.
 9. A computer program product for modification of search subjectsin a set of predictive search terms, comprising a computer-readablestorage medium having program code embodied therewith, the program codeexecutable by a processor of a computer to perform a method comprising:receiving a set of search terms from a user; communicating the searchterms to a search engine; receiving one or more sets of predictivesearch terms from the search engine based on the set of search terms;identifying one or more search subjects within the one or more sets ofpredictive search terms, wherein identifying the one or more searchsubjects comprises analyzing the received set of search terms and theone or more sets of predictive search terms for various semanticproperties; combining the set of search terms from the user, the one ormore sets of predictive search terms and the identified one or moresearch subjects to form one or more combined search sentences;displaying the one or more combined search sentences, wherein theidentified one or more search subjects is displayed as a blank spacewithin the one or more combined search sentences.
 10. The computerprogram product of claim 9, further comprising: communicating thecombined search sentence to a search engine.
 11. The computer programproduct of claim 9, further comprising: receiving a text input from theuser; and determining the modified search sentence based on the textinput.